#ifndef game_game_h
#define game_game_h

namespace game {

    // Abstract class for games.
    class Game {
    public:
        Game() {}
        virtual ~Game() {}
        // Called by the framework when the game is loaded.
        virtual void Init()=0;
        // Called each frame. dt is the length of the previous frame in seconds.
        virtual void Tick(double dt)=0;
        // Called to draw your scene.
        virtual void Draw()=0;
    };

    // You should use this to create your concrete Game class.
    Game* CreateGame();
}  // namespace game

#endif
